package com.dragoncombin.homework.Module03.Problem04;

import java.util.List;

class StudentInfoManageSystemTest {

    public static void main(String[] args) {

        /*
            编程题： 使用 List 集合实现简易的学生信息管理系统，要求打印字符界面提示用户选择相应的功能，
            根据用户输入的选择去实现增加、删除、修改、查找以及遍历所有学生信息的功能。

            其中学生的信息有：学号、姓名、年龄。 要求： 尽量将功能拆分为多个.java 文件。
         */

        // 1. 获取单例StudentList中的对象
        StudentList st = StudentList.getInstance();
        List<Student> studentInfo = st.getStudents();
        StudentInfoManageSystem sms = new StudentInfoManageSystem(studentInfo);
        // 2. 打印字符提示界面提示用户选择增加、删除、修改、查找以及查看学生信息的功能
        StudentInfoManageSystem.start();
        while(true) {
            // 3. 获取用户输入
            int inputNum = StudentInfoManageSystem.getInput();
            // 4. 根据用户输入的序号分别进行不同的处理
            if (-1 == inputNum) continue; // 处理无效输入
            if (0 == inputNum) { // 退出
                System.out.println("已退出学生管理系统，欢迎下次再来");
                break;
            }
            // 5. 根据输入值进入不同的模式， 包括增删改查和打印所有学生信息
            sms.enterMode(inputNum);
        }
    }
}
